/*
 * @Author: licongwei
 * @Date: 2022-02-14 10:02:35
 * @Description: 文件描述
 * @FilePath: \dp-temp\src\utils\common.ts
 */
/** 批量导入模块
 * @desc 导入指定文件夹下所有组件，合并返回
 * @param allComponents webkit自带require.context()导入文件方法
 * @param configs       用以判断合并后的类型，传入{}使用Object.assign方法拼接，[]使用concat方法拼接
 * @example const configApi = useMergeFile(require.context('.', true, /\.ts$/), {});
 */

export function useMergeFile(allComponents: any, configs: any) {
  allComponents.keys().forEach((key: any) => {
    if (key.indexOf('/index') > -1) return
    if (Array.isArray(configs)) {
      configs = configs.concat(allComponents(key).default)
    } else if (typeof configs === 'object') {
      Object.assign(configs, allComponents(key).default)
    }
  })
  return configs
}
